Allow domain0 to see PCI bridges. It should be able to deal with
seeing PCI buses twice (once as a 'root bridge' from Xen; once by
scanning behind a PCI-PCI bridge itself), and this gets rid of
problems where the bridge needs to be seen by XenLinux for drivers
to work (e.g., Mellanox Infiniband chipsets).
Signed-off-by: Keir Fraser <keir@xensource.com>
continue;
}
- /* Skip bridges and other peculiarities for now.
- *
- * Note that this can prevent the guest from detecting devices
- * with fn>0 on slots where the fn=0 device is a bridge. We
- * can identify such slots by looking at the multifunction bit
- * (top bit of hdr_type, masked out in dev->hdr_type).
- *
- * In Linux2.4 we find all devices because the detection code
- * scans all functions if the read of the fn=0 device's header
- * type fails.
- *
- * In Linux2.6 we set pcibios_scan_all_fns().
- */
- if ( (dev->hdr_type != PCI_HEADER_TYPE_NORMAL) &&
- (dev->hdr_type != PCI_HEADER_TYPE_CARDBUS) )
- continue;
pdev = xmalloc(sizeof(phys_dev_t));
pdev->dev = dev;
pdev->flags = ACC_WRITE;